package SecondeStage.MianXiangDuiXiang.AbstractClass.DanLiSheJi;


public class SingleTon02 {
    public static void main(String[] args) {
        Cat cat = Cat.getInstance();
    }
}

class Cat{
    private String name;
    private static Cat cat;
    // 单例模式-懒汉式步骤
    // 1. 构造器私有化
    // 2. 定义一个静态属性对象
    // 3. 提供一个公共static方法，返回cat对象
    // 4. 懒汉式，只有当用户使用getInstance时，才返回cat对象，再次调用时，会返回上次创建的cat对象
    public Cat(String name) {
        System.out.println("构造器被调用了...");
        this.name = name;
    }

    public static Cat getInstance(){
        // 如果还没有创建cat对象
        if (cat == null){
            cat = new Cat("小七");
        }
        return cat;
    }
}
